package com.yangyang.ralearn.client.rlclient;

import java.util.List;

import com.yangyang.ralearn.common.JEnvironment;
import com.yangyang.ralearn.common.entity.base.AbstractDomainPredicate;
import com.yangyang.ralearn.common.exception.ErrorActionException;
import com.yangyang.ralearn.common.exception.ReachGoalException;

public interface IRLAgentHandler {

	/**
	 * 重要，每一个实现客户端的操作必须赋值类
	 */

	public abstract JEnvironment init(String domainFile, String problemFile);

	public abstract List<AbstractDomainPredicate> observe();

	public abstract boolean canDo(String line);

	public abstract void doAction(String line) throws ReachGoalException,
			ErrorActionException;

	public abstract void nextProblem(String problemFile);

}